The invention relates generally to digital networks, and in particular to digital telephone networks.
Traditional telephone calls are transmitted simultaneously over a telephone line using time division multiplexing (TDM). The TDM calls can be mapped onto virtual circuits (VCs) and transmitted over an ATM network using Voice over ATM Adaptation Layer 2 (VoAAL2). There can be multiple AAL2 virtual circuits (VCs), each of which can potentially carry multiple multiplexed voice channels.
Voice over AAL2 is becoming increasingly significant as traditional TDM based voice phone calls are mapped to the VCs of cell based ATM networks. One problem with converting the TDM based data into cells and placing the cells on VCs is caused by the current scheduling methods used by the processor to devote time to placing cells onto each VC. Current scheduling methods are inflexible, and result in too much time being spent placing some cells onto VCs, and not enough time spent placing other cells onto VCs. This results in xe2x80x9cstarvationxe2x80x9d for the VCs that the processor neglects to xe2x80x9cfeedxe2x80x9d with cells. The end result is that the voice quality on the starved VCs is degraded because of the inflexible processor scheduling methods.
In one embodiment, a method including transmitting data cells through a plurality of queues to an input of a processor is disclosed. The method includes transmitting data cells from an output of the processor to corresponding virtual circuits. The amount of data transmitted through each queue is computed. The cumulative amount of data transmitted through all queues is also computed. For each queue, a ratio of the amount of data transmitted through the queue to the cumulative amount of data transmitted through all queues is determined. The method also determines an amount of processor time for each queue using the ratio for the queue.